|
Big Design Up Front (BDUF) is a software development approach in which the program's design is to be completed and perfected before that program's implementation is started. It is often associated with the waterfall model of software development. ==Arguments for Big Design Up Front== Proponents of waterfall model argue that time spent in designing is a worthwhile investment, with the hope that less time and effort will be spent fixing a bug in the early stages of a software product's lifecycle than when that same bug is found and must be fixed later. That is, it is much easier to fix a requirements bug in the requirements phase than to fix that same bug in the implementation phase, as to fix a requirements bug in the implementation phase requires scrapping at least some of the implementation and design work which has already been completed. Joel Spolsky, a popular online commentator on software development, has argued strongly in favor of Big Design Up Front:〔 〕 "Many times, thinking things out in advance saved us serious development headaches later on. ... (making a particular specification change ) ... Making this change in the spec took an hour or two. If we had made this change in code, it would have added weeks to the schedule. I can’t tell you how strongly I believe in Big Design Up Front, which the proponents of Extreme Programming consider anathema. I have consistently saved time and made better products by using BDUF and I’m proud to use it, no matter what the XP fanatics claim. They’re just wrong on this point and I can’t be any clearer than that." However, several commentators〔"A 20 page spec for a 3 month project is a great thing! But it's not BDUF, it's SDUF" Rich Rogers()〕〔"Unfortunately, looking at his spec., it seems to bear little relation to the type of BDUF that XP (extreme programming) and other agile programmers inveigh against." Curt Sampson()〕〔"So, of all the things this spec might be, a big, up-front design document is not one of them." Kevlin Henney()〕 have argued that what Joel has called Big Design Up Front doesn't resemble the BDUF criticized by advocates of XP and other agile software development methodologies because his example was neither recognisably the full program design nor completed entirely upfront: 〔 〕 "This specification is simply a starting point for the design of Aardvark 1.0, not a final blueprint. As we start to build the product, we'll discover a lot of things that won't work exactly as planned. We'll invent new features, we'll change things, we'll refine the wording, etc. We'll try to keep the spec up to date as things change. By no means should you consider this spec to be some kind of holy, cast-in-stone law." 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Big Design Up Front」の詳細全文を読む スポンサード リンク
|